onDropContent 是 Scripting 提供的一个视图修饰符,用于使某个视图成为接收来自其他 App 拖入的文件、图片或文本的拖放目标。该功能特别适用于 iPadOS 和 macOS 上支持多窗口、多任务操作的场景,提升交互体验。
使用 onDropContent 可以:
| 参数名 | 类型 | 说明 |
|---|---|---|
types |
UTType[] |
可接收的内容类型标识符数组,例如 "public.image"、"public.text" 等。若拖拽内容不包含这些类型,视图将不会成为有效的放置目标。 |
isTarget |
{ value: boolean; onChanged: (value: boolean) => void } |
表示当前拖拽是否悬停在该视图上方的绑定状态。可用于高亮或提示用户拖放目标区域。 |
onResult |
(result) => void |
当有效内容被放下时触发的回调函数,提供所接收到的内容结果对象。 |
texts:拖拽文本内容的字符串数组;images:拖拽进来的图片,格式为 UIImage;fileURLs:拖入文件的本地路径(字符串形式)。上述示例中:
VStack 仅接收 "public.image" 类型的拖拽内容;isTarget 被设为 true,用于动态更新 UI;types 字段中的类型字符串遵循 Apple 的 Uniform Type Identifier (UTType) 规范;"public.image"、"public.text"、"com.adobe.pdf" 等;